package com.ts.api.module.api.entity.bo;

import com.ts.api.common.constant.api.ApiBizTypeEnum;
import com.ts.api.module.api.entity.vo.ReqApiParameterVO;
import lombok.Data;

/**
 *  前置参数校验业务实体类
 *
 *  @author Pan
 */
@Data
public class ApiPreRequiredBO {

    /** 请求参数实体 */
    private ReqApiParameterVO reqApiParameterVO;
    /** 业务类型 */
    private ApiBizTypeEnum apiBizTypeEnum;
    /** 过滤参数 */
    private ApiFilterParamBO apiFilterParamBO;
    /** 业务匹配模式 */
    private ApiBizMatchBO apiBizMatchBO;

    public ApiPreRequiredBO() {
        super();
    }

    /**
     *  创建实体
     *
     *  @param reqApiParameterVO        请求参数实体
     *  @param apiBizTypeEnum       业务类型
     *  @param apiFilterParamBO     前置过滤参数业务类型
     *  @param apiBizMatchBO        业务匹配模式
     *  @return
     */
    public static ApiPreRequiredBO create(ReqApiParameterVO reqApiParameterVO, ApiBizTypeEnum apiBizTypeEnum, ApiFilterParamBO apiFilterParamBO, ApiBizMatchBO apiBizMatchBO) {
        ApiPreRequiredBO apiPreRequiredBO = new ApiPreRequiredBO();
        apiPreRequiredBO.setReqApiParameterVO(reqApiParameterVO);
        apiPreRequiredBO.setApiBizTypeEnum(apiBizTypeEnum);
        apiPreRequiredBO.setApiFilterParamBO(apiFilterParamBO);
        apiPreRequiredBO.setApiBizMatchBO(apiBizMatchBO);
        return apiPreRequiredBO;
    }
}
